---
id: 5900f45b1000cf542c50ff6d
title: 'Завдання 238: нескінченна подорож по рядках'
challengeType: 1
forumTopicId: 301883
dashedName: problem-238-infinite-string-tour
---

# --description--

Створіть послідовність чисел, використовуючи генератор псевдовипадкових чисел Блум Блум Шуба:

$$ s_0 = 14025256 \\\\
s_{n + 1} = {s_n}^2 \\; mod \\; 20\\,300\\,713 $$

Об’єднайте ці числа $s_0s_1s_2\ldots$, щоб створити рядок $w$ нескінченної довжини. Тоді $w = 14025256741014958470038053646\ldots$

Якщо для $w$ не існує підрядка, сума цифр якого дорівнює натуральному числу $k$, то вважається, що $p(k)$ дорівнює нулю. Якщо для $w$ існує принаймні один підрядок, сума цифр якого дорівнює $k$, то $p(k) = z$, де $z$ є початковою позицією першого такого підрядка.

Наприклад:

Підрядки 1, 14, 1402, …, суми цифр яких дорівнюють 1, 5, 7, … починаються з позиції 1. Отже, $p(1) = p(5) = p(7) = \ldots = 1$.

Підрядки 4, 402, 4025, …, суми цифр яких дорівнюють 4, 6, 11, … починаються з позиції 2. Отже, $p(4) = p(6) = p(11) = \ldots = 2$.

Підрядки 02, 0252, …, суми цифр яких дорівнюють 2, 9, … починаються з позиції 3. Отже, $p(2) = p(9) = \ldots = 3$.

Зауважте, що сума цифр підрядка 025, який починається з позиції 3, дорівнює 7, однак існує попередній підрядок (починається з позиції 1), сума цифр якого дорівнює 7, тому $p(7) = 1$, а не 3.

Можна довести, що $\sum p(k) = 4742$ за умови $0 &lt; k ≤ {10}^3$.

Знайдіть $\sum p(k)$ за умови $0 &lt; k ≤ 2 \times {10}^{15}$.

# --hints--

`infiniteStringTour()` має повернути `9922545104535660`.

```js
assert.strictEqual(infiniteStringTour(), 9922545104535660);
```

# --seed--

## --seed-contents--

```js
function infiniteStringTour() {

  return true;
}

infiniteStringTour();
```

# --solutions--

```js
// solution required
```
